重み付き平均、分散、分位点などを求める関数群がHmiscパッケージにある。

library(Hmisc)

set.seed(1)
x <- runif(20)
w <- sample(1:6, 20, TRUE)
x
##  [1] 0.26550866 0.37212390 0.57285336 0.90820779 0.20168193 0.89838968
##  [7] 0.94467527 0.66079779 0.62911404 0.06178627 0.20597457 0.17655675
## [13] 0.68702285 0.38410372 0.76984142 0.49769924 0.71761851 0.99190609
## [19] 0.38003518 0.77744522
w
##  [1] 6 2 4 1 2 3 1 3 6 3 3 4 3 2 5 5 5 1 5 3
wtd.mean(x,w)
## [1] 0.5197941
wtd.var(x, w)
## [1] 0.06189608
wtd.quantile(x, w)
##         0%        25%        50%        75%       100% 
## 0.06178627 0.26550866 0.57285336 0.71761851 0.99190609